Packet transceiver system and method

ABSTRACT

A packet transceiver system includes a detection module ( 210 ), a dropped rate determination module ( 110 ), a transmitting module ( 120 ), and a recalculation module ( 230 ). The detection module detects a network congestion status. The dropped rate determination module determines a packet dropped rate based on the network congestion status. The transmitting module transmits voice packets, dropping voice packets according to the packet dropped rate, ensuring an even distribution of dropped voice packets during the transmission. The recalculation module receives the un-dropped voice packets, and recalculates the dropped voice packets. A packet transceiver method is also provided.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to network communications, and particularly to apacket transceiver system and method.

2. Description of Related Art

Voice over Internet (VoIP) is a standard for transmitting voice, whichrelies on using real-time transport protocol (RTP). RTP is built uponthe user datagram protocol (UDP).

However, UDP lacks a feedback mechanism, so RTP packets are liable to belost during network congestion, thereby affecting voice quality.Referring to FIG. 1, a transmitter 10 transmits a plurality of voicepackets to a receiver 20 during network congestion, and voice packets100 b are lost in groups. The lost voice packets 100 b are difficult tobe recalculated according to normal voice packets 100 a, and accordinglyvoice quality is poor.

SUMMARY OF THE INVENTION

An exemplary embodiment of the present invention provides a packettransceiver system. The packet transceiver system includes a detectionmodule, a dropped rate determination module, a transmitting module, anda recalculation module. The detection module detects a networkcongestion status. The dropped rate determination module determines apacket dropped rate based on the network congestion status. Thetransmitting module transmits voice packets, dropping voice packetsaccording to the packet dropped rate, ensuring an even distribution ofdropped voice packets during the transmission. The recalculation modulereceives the un-dropped voice packets, and recalculates the droppedvoice packets.

Another exemplary embodiment of the present invention provides a packettransceiver method. The packet transceiver system includes the followingsteps. A receiver detects a network congestion status. A transmitterdetermines a packet dropped rate based on the network congestion status.The transmitter transmits voice packets, dropping voice packetsaccording to the packet dropped rate, ensuring an even distribution ofdropped voice packets during the transmission. The receiver receives theun-dropped voice packets, and recalculates the dropped voice packets.

Other advantages and novel features will become more apparent from thefollowing detailed description when taken in conjunction with theaccompanying drawings, in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram showing voice packets being randomly lost;

FIG. 2 is a schematic diagram of functional modules of a packettransceiver system of an exemplary embodiment of the present invention;

FIG. 3 is a schematic diagram of a real-time transport protocol (RTP)header of another exemplary embodiment of the present invention;

FIG. 4 is a schematic diagram showing an even distribution of droppedvoice packets of a further exemplary embodiment of the presentinvention;

FIG. 5 is a schematic diagram showing voice packets being recalculatedof a still further exemplary embodiment of the present invention; and

FIG. 6 is a flowchart of a packet transceiver method of a yet furtherexemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 2 is a schematic diagram of functional modules of a packettransceiver system of an exemplary embodiment of the present invention.In exemplary embodiment, the packet transceiver system is in a managednetwork, such as a closed network held by a telecommunication office.The packet transceiver system includes a transmitter 100 and a receiver200. The transmitter 100 communicates with the receiver 200 throughvoice over Internet protocol (VoIP).

In the exemplary embodiment, the transmitter 100 initially transmits aplurality of antecedent voice packets to the receiver 200. The receiver200 receives the plurality of antecedent voice packets, and detects anetwork congestion status. Then the transmitter 100 determines a packetdropped rate based on the network congestion status, and transmits voicepackets, dropping voice packets according to the packet dropped rate,ensuring an even distribution of dropped voice packets during thetransmission. The receiver 200 receives the un-dropped voice packets,and recalculates the dropped voice packets. Thus, network traffic iseffectively reduced, and voice quality between the transmitter 100 andthe receiver 200 is maintained. Accordingly, network efficiency iseffectively improved.

The transmitter 100 includes a dropped rate determination module 110 anda transmitting module 120. The transmitting module 120 transmits aplurality of antecedent voice packets to the receiver 200.

The receiver 200 includes a detection module 210, a reporting module220, and a recalculation module 230.

The detection module 210 receives the plurality of antecedent voicepackets, and detects a network congestion status. In the exemplaryembodiment, the network congestion status is a packet lost rate, namelya lost rate of the antecedent voice packets transmitted from thetransmitter 100 to the receiver 200. Each antecedent voice packet fromthe transmitter 100 includes a sequence number for the receiver 200 todetect lost packets in the antecedent voice packets. The detectionmodule 210 detects the packet lost rate, namely the network congestionnetwork, according to the sequence numbers of the antecedent voicepackets.

The reporting module 220 reports the network congestion status to thedropped rate determination module 110 of the transmitter 100. In theexemplary embodiment, the reporting module 220 reports the networkcongestion status to the transmitter 100 via a header extension field ofa real-time transport protocol (RTP) packet, so additional cost foramending protocols is not needed. The header extension field is includedin an RTP header 1000 of the RTP packet.

Referring to FIG. 3, the RTP header 1000 includes a version (V) field1001, a padding (P) field 1002, an extension (X) field 1003, acontributing source identifier (CSRC) count (CC) field 1004, a marker(M) field 1005, a payload type 1006, a sequence number field 1007, atimestamp field 1008, a synchronization source identifier (SSRC) field1009, a CSRC field 1010, and a header extension field 1011.

In this embodiment, the reporting module 220 reports the networkcongestion status by setting the extension field 1003 and the headerextension field 1011.

The extension field 1003 is for indicating whether the header extension1011 is set. In the exemplary embodiment, the extension field 1003 isset to 1, indicating the header extension field 1011 is set.

The header extension field 1011 is for transmitting the networkcongestion status. In this embodiment, the header extension field 1011includes a protocol initial field 1011 a, a protocol header field 1011b, and a severity of congestion field 1011 c.

The protocol header field 1011 b is for indicating a type of informationin the severity of congestion field 1011 c. The severity of congestionfield 1011 c is for carrying the network congestion status, namely thepacket lost rate. In exemplary embodiment, the protocol header field1011 b is set to 101, indicating the information in the severity ofcongestion field 1011 c is the network congestion status, namely thepacket lost rate.

The protocol initial field 1011 a is for padding the header extensionfield 1011. In the exemplary embodiment, the header extension field 1011has a 32-bit length, the protocol initial field 1011 has a 16-bitlength, the protocol header field 1011 b has a 3-bit length, and theseverity of congestion field 1011 c has a 13-bit length. The protocolinitial field 1011 a is padded with 16 0's, for filling in the headerextension field 1011.

In other embodiments, the header extension field 1011 may be dividedinto other fields according to different requirements.

The dropped rate determination module 110 of the transmitter 100determines a packet dropped rate based on the network congestion status.In the exemplary embodiment, the dropped rate determination module 110receives the RTP packet to obtain the network congestion status, namelythe packet lost rate, and then determines the packet dropped rate basedon the packet lost rate. In this embodiment, the determined packetdropped rate is equal to the packet lost rate.

The transmitting module 120 transmits voice packets, dropping voicepackets according to the packet dropped rate, ensuring an evendistribution of dropped voice packets during the transmission.

For example, if the packet lost rate is 10%, the determined packetdropped rate is also 10%. In such case, the transmitting module 120drops voice packets according to the 10% dropped rate. That is, thetransmitting module 120 drops one voice packet in every ten voicepackets. As shown in FIG. 4, dropped voice packets 1000 b are evenlydistributed among normal voice packets 1000 a according to the 10%dropped rate.

The recalculation module 230 of the receiver 200 receives the un-droppedvoice packets, and recalculates the dropped voice packets. In exemplaryembodiment, the recalculation module 230 receives the normal voicepackets 1000 a from the transmitting module 120 of the transmitter 100,and then recalculates the dropped voice packets 1000 b usingmathematical methods. The recalculation module 230 also adds therecalculated voice packets to the received voice packets.

In the exemplary embodiment, the recalculation module 230 may be adigital signal processor (DSP) that has functions that use interpolationmethods. The dropped voice packets are evenly distributed among normalvoice packets, so the recalculation module 230 can recalculate thedropped voice packets using interpolation methods to maintain voicequality.

For example, referring to FIG. 5, a dropped voice packet C can berecalculated using a linear interpolation method of the normal voicepackets A and B. It should be noted that the recalculation method of thedropped voice packets is not restricted in the linear interpolationmethod, and may be other mathematical calculation methods, such aspolynomial interpolation, spline interpolation, and rationalinterpolation methods.

FIG. 6 is a flowchart of a packet transceiver method of an exemplaryembodiment of the present invention. In the exemplary embodiment, thetransmitter 100 communicates with the receiver 200 through VoIP.

In step S600, the transmitter 100 transmits a plurality of antecedentvoice packets to the receiver 200.

In step S602, the receiver 200 receives the plurality of antecedentvoice packets, and detects a network congestion status. In the exemplaryembodiment, the network congestion status is a packet lost rate. Eachantecedent voice packet from the transmitter 100 includes a sequencenumber for the receiver 200 to detect lost packets in the antecedentvoice packets. The detection module 210 detects the packet lost rate,namely the network congestion status, according to the sequence numbersof the antecedent voice packets.

In step S604, the receiver 100 reports the network congestion status tothe transmitter 100. In the exemplary embodiment, the reporting module220 reports the network congestion status to the transmitter 100 via aheader extension field of a RTP packet. The header extension field isincluded in the RTP header 1000 of the RTP packet.

In this embodiment, the reporting module 220 reports the networkcongestion status by setting the extension field 1003 and the headerextension field 1011 of the RTP header 1000 of FIG. 3.

The extension field 1003 is for indicating whether the header extension1011 is set. In the exemplary embodiment, the extension field 1003 isset to 1, indicating the header extension field 1011 is set.

The header extension field 1011 is for transmitting the networkcongestion status. In this embodiment, the header extension field 1011includes a protocol initial field 1011 a, a protocol header field 1011b, and a severity of congestion field 1011 c.

The protocol header field 1011 b is for indicating a type of informationin the severity of congestion field 1011 c. The severity of congestionfield 1011 c is for carrying the network congestion status, namely thepacket lost rate. In exemplary embodiment, the protocol header field1011 b is set to 101, indicating the information in the severity ofcongestion field 1011 c is the network congestion status, namely thepacket lost rate.

The protocol initial field 1011 a is for padding the header extensionfield 1011. In the exemplary embodiment, the header extension field 1011contains a 32-bit length, the protocol initial field 1011 a contains a16-bit length, the protocol header field 1011 b contains a 3-bit length,and the severity of congestion field 1011 c contains a 13-bit length.The protocol initial field 1011 a is padded with 16 continues 0, forfilling in the header extension field 1011.

In other embodiments, the header extension field 1011 may be dividedinto other fields according to different requirements.

In step S606, the transmitter 100 determines a packet dropped rate basedon the network congestion status. In the exemplary embodiment, thedropped rate determination module 110 receives the RTP packet to obtainthe network congestion status, namely the packet lost rate, and thendetermines the packet dropped rate based on the packet lost rate. Inthis embodiment, the determined packet dropped rate is equal to thepacket lost rate.

In step S608, the transmitter 100 transmits voice packets, droppingvoice packets according to the packet dropped rate, ensuring an evendistribution of dropped voice packets during the transmission.

For example, if the packet lost rate is 10%, the determined packetdropped rate is also 10%. In such case, the transmitting module 120drops voice packets according to the 10% dropped rate. As shown in FIG.4, the dropped voice packets 1000 b are evenly distributed among thenormal voice packets 1000 a during transmission, according to the 10%dropped rate.

In step S610, the receiver 200 receives the un-dropped voice packets,and recalculates the dropped voice packets. In the exemplary embodiment,the recalculation module 230 receives the normal voice packets 1000 afrom the transmitting module 120 of the transmitter 100, and thenrecalculates the dropped voice packets 1000 b using mathematicalmethods.

In the exemplary embodiment, the recalculation module 230 may be a DSPthat has functions that use interpolation methods. The dropped voicepackets are evenly distributed among normal voice packets, so therecalculation module 230 can recalculate the dropped voice packet usinginterpolation methods to maintain voice quality.

In step S612, the receiver 200 adds the recalculated voice packets tothe received voice packets. In the exemplary embodiment, therecalculation module 230 adds the recalculated voice packet 1000 b tothe received voice packets 1000 a.

In the embodiment of the present invention, the receiver 200 transmits anetwork congestion status via a header extension field of a RTP packet,so additional cost for amending protocols is not needed. In addition,the transmitter 100 periodically drops voice packets according to apacket dropped rate, so the network congestion status and the successfultransmission probability of voice packets are improved. Furthermore, thereceiver 200 recalculates the un-dropped voice packets usinginterpolation methods, so the voice quality is maintained.

Thus, if all transmitters 100 and all receivers 200 in a managed networksupport the packet transceiver method of the present invention, networkefficiency can be effectively improved.

While various embodiments and methods of the present invention have beendescribed above, it should be understood that they have been presentedby way of example only and not by way of limitation. Thus the breadthand scope of the present invention should not be limited by theabove-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

1. A packet transceiver system, comprising: a detection module, fordetecting a network congestion status; a dropped rate determinationmodule, for determining a packet dropped rate based on the networkcongestion status; a transmitting module, for transmitting voicepackets, dropping voice packets according to the packet dropped rate,ensuring an even distribution of dropped voice packets during thetransmission; a recalculation module, for receiving the un-dropped voicepackets, and recalculating the dropped voice packets; and a reportingmodule, for reporting the network congestion status to the dropped ratedetermination module via a header extension field of a real-timetransport protocol (RTP) packet, wherein the header extension field ofthe RTP packet comprises a protocol initial field, a protocol headerfield, and a severity of congestion field; the protocol initial field isfor padding the header extension field, the protocol header field is forindicating a type of information in the severity of congestion field,and the severity of congestion field is for carrying the networkcongestion status.
 2. The packet transceiver system as claimed in claim1 wherein the transmitting module is also for transmitting a pluralityof antecedent voice packets; the detection module is also for receivingthe plurality of antecedent voice packets, and detecting the networkcongestion status according to sequence numbers of the antecedent voicepackets.
 3. The packet transceiver system as claimed in claim 1, whereinthe network congestion status comprises a packet lost rate, and thedropped rate determination module determines the packet dropped ratebased on the packet lost rate.
 4. The packet transceiver system asclaimed in claim 1, wherein the recalculation module recalculates thedropped voice packets using an interpolation method.
 5. The packettransceiver system as claimed in claim 1, wherein the recalculationmodule is also for adding the recalculated voice packets to the receivedvoice packets.
 6. A packet transceiver method, comprising: providing areceiver and a transmitter; detecting a network congestion status by thereceiver; reporting the network congestion status from the receiver tothe transmitter via a header extension field of a real-time transportprotocol (RTP) packet, wherein the header extension field of the RTPpacket comprises a protocol initial field, a protocol header field, anda severity of congestion field; the protocol initial field is forpadding the header extension field, the protocol header field is forindicating a type of information in the severity of congestion field,and the severity of congestion field is for carrying the networkcongestion status; determining a packet dropped rate based on thenetwork congestion status by the transmitter; transmitting voicepackets, dropping voice packets according to the packet dropped rate,ensuring an even distribution of dropped voice packets during thetransmission; and receiving the un-dropped voice packets, andrecalculating the dropped voice packets by the receiver.
 7. The packettransceiver method as claimed in claim 6, wherein detecting the networkcongestion status by the receiver comprises: transmitting a plurality ofantecedent voice packets from the transmitter to the receiver; andreceiving the plurality of antecedent voice packets, and detecting thenetwork congestion status according to sequence numbers of theantecedent voice packets by the receiver.
 8. The packet transceivermethod as claimed in claim 6, wherein the network congestion statuscomprises a packet lost rate, and the packet dropped rate is equal tothe packet lost rate.
 9. The packet transceiver method as claimed inclaim 6, wherein recalculating the dropped voice packets comprises:recalculating the dropped voice packets using an interpolation method.10. The packet transceiver method as claimed in claim 6, furthercomprising: adding the recalculated voice packets to the received voicepackets.
 11. A method for packet transmission from a transmitter to areceiver and, comprising steps of: detecting a network congestion statusby a receiver, which receives packets from a transmitter, according toreceived packets from said transmitter; reporting said networkcongestion status from said receiver to said transmitter via a headerextension field of a real-time transport protocol (RTP) packet, whereinsaid header extension field of said RTP packet comprises a protocolinitial field, a protocol header field, and a severity of congestionfield; said protocol initial field is for padding said header extensionfield, said protocol header field is for indicating a type ofinformation in said severity of congestion field, and said severity ofcongestion field is for carrying said network congestion status;transmitting said detected network congestion status from said receiverto said transmitter; and transmitting packets by said transmitter in away definable based on said network congestion status.
 12. The method asclaimed in claim 11, wherein a packet dropped rate is determined basedon said network congestion status so as to define a packet dropped wayas said definable way to transmit said packets by said transmitter.